package com.ie.cloud.payment.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.time.LocalTime;

@Schema(description = "订单流水记录表")
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_pay_order_flow_record")
public class PayOrderFlowRecord implements Serializable {

    public static LambdaQueryWrapper<PayOrder> gw(){
        return new LambdaQueryWrapper<>();
    }

    private static final long serialVersionUID=1L;
    public static final String PAY_STATE_SUCCESS = "0";
    public static final String PAY_STATE_FAIL = "1";

    @Id
    @Schema(name = "trans_ref_guid")
    private String transRefGuid;

    @Id
    @Schema(name = "pay_refguid")
    private String payRefguid;

    @Schema(name = "pay_order_id")
    private String payOrderId;

    @Schema(name = "batch_no")
    private String batchNo;

    @Schema(name = "bill_no")
    private String billNo;

    @Schema(name = "busi_code")
    private String busiCode;

    @Schema(name = "check_state")
    private String checkState;

    @Schema(name = "cust_acct")
    private String custAcct;

    @Schema(name = "cust_name")
    private String custName;

    @Schema(name = "ebank_pxserno")
    private String ebankPxserno;

    @Schema(name = "pay_amount")
    private Long payAmount;

    @Schema(name = "pay_state")
    private String payState;

    @Schema(name = "project_id")
    private String projectId;

    @Schema(name = "stl_date")
    private String stlDate;

    @Schema(name = "stl_msg")
    private String stlMsg;

    @Schema(name = "stl_state")
    private String stlState;

    @Schema(name = "trx_date")
    private LocalDateTime trxDate;

    @Schema(name = "trx_time")
    private LocalTime trxTime;
}
